#pragma once

#include "GUIBase.h"
#include "KitInterface.h"
#include <vector>

class Part;

class Kit : public KitInterface, public GUIBase
{
private:
	std::vector<Part*> *parts;
	int number_parts;

public:
	Kit(int startx, int starty, QGraphicsScene *scene = 0);
	Kit(); 	// USED FOR AGENT UNIT TESTS
	virtual ~Kit();
	void addPart(Part *,int ind);
	void addPart(Part *);
	virtual Part* getPart(int ind);
	void removePart(int ind);
	virtual void doneScaling();
	bool isFull();
	bool isComplete();
	std::vector<PartType> getPartTypesNeeded();
	std::vector<PartType> partTypesNeeded;
};